1. Field of Invention
This invention relates to communication network bandwidth allocation methods, systems and program products. More particularly, this invention relates to redistribution of excess bandwidth in networks for optimized performance of voice and data sessions: methods, systems and program products
2. Description of Prior Art
Numerous different Speech Coder/Decoder techniques for compressing speech signals and recovering the original signals from the compressed data have been standardized by the ITU-T (e.g., G.711, G.723.1, G.726, G.728, G.729 A). There are many other codec techniques, which remain proprietary. The various codec algorithms typically provide a trade-off between implementation complexity (MIPs and Memory) bit rate required to support real-time speech, and speech quality. Thus one can typically choose a more complex algorithm to reduce the bit rate required to support a voice session, but in general the lower bit rate also typically results in lower quality speech when passed through a coder/decoder pair.
Speech coders are typically useful in facilitating voice traffic within packet-based networks i.e., IP networks, including the Internet as well as private and virtual private networks. The speech compression function is desirable since it reduces the load on the networks by reducing the bit rate required to support each speech session. Motivation for voice over packet networks is to reduce the cost of voice traffic i.e., toll bypass, as well as to consolidate both voice and data onto a single network thereby reducing network management overhead. Another motivation of voice over packet technology is to connect a remote telephone into the public telephone network without using local phone service. The connection is done by using a broadband link such as Asynchronous Digital Subscriber Line (ASDL) to carry the digitized voice from the subscriber's location through the local central office to a voice gateway
In either network configuration, the voice codec type is typically negotiated at the beginning of a voice session. ITU-T standard H.323 provides a protocol for two endpoints to negotiate the desired speech coder for a session. Once established, speech codec parameters are typically fixed for the duration of a phone call. Typical user preference would be to always use the codec which results in the best speech quality. Unfortunately, if there is significant traffic (many voice sessions as well as many data sessions) on the network, the higher throughput required for the desired speech quality can result in lost packets for both voice and data traffic in the network due to network router decisions to discard packets as queues become too full. Lost voice packets degrade the speech quality of voice sessions, and lost data traffic may even make congestion worse because of a need to retransmit discarded data. The desirability of adjusting speech coder bit-rate in response to congestion was pointed out in the text “Digital Coding of Waveforms” by Jayant and Noll, published by Prentice Hall, Englewood Cliffs, New Jersey, November 1984. However there was no discussion in this reference as to how one should determine when to alter the coder bit rate. A paper entitled “A dynamic rate control mechanism for integrated networks”, by Yin and Hluchyj, Proceedings—IEEE Infocom, 1991, (Location) discloses a technique whereby a network device could modify a packet header to indicate to the end nodes a congested network condition. However, the technique requires explicit packet modification within the network and would be difficult to implement on a widespread basis.
Another motivation for voice over packet networks is that the network transmits data for each session fairly. One method of enforcing fairness is a Quality of Service (QoS) algorithm, which allocates each session with its subscribed bandwidth and then evenly distributes excess bandwidth to all established sessions. See the Related Applications, supra. However, when a network carries more than data (e.g. data and voice), the bandwidth allocation becomes critical to the performance of the network. For example, either a certain amount of bandwidth is needed for a voice session to achieve higher bit rate or the bandwidth will be wasted because of the characteristics of the voice specifications. Thus1 there is a need to apply an appropriate Quality of Service (QoS) algorithm to optimize the usage of the network bandwidth and increase the performance of each speech and data session.
Prior art related to bandwidth allocation in packet networks includes:
(1) U.S. Pat. No. 5,784,569 entitled “Guaranteed Bandwidth Allocation Method In A Computer System For Input/Output Data Transfers” issued Jul. 21, 1998, filed Sep. 23, 1996 discloses an arbitration procedure for selecting among devices in a Computer system requesting access to a single resource such as, for example, a system bus or main memory. The arbitration procedure provides an efficient means for guaranteeing the available system bus bandwidth to devices having high bandwidth requirements. Each device can be allotted a certain amount of bandwidth that is guaranteed to be available for that device within a given time interval. Excess bandwidth not consumed by the guaranteed allotments can be used as remainder (e.g., available but not guaranteed) bandwidth by the devices. The arbitration procedure further provides a guaranteed maximum latency so that no device is prevented from completing data transfers in a timely manner. The arbitration procedure still further provides the ability to dynamically program the amount of the bandwidth that is guaranteed a particular device. The arbitration procedure can be applied to a number of different communication platforms and bus protocols.
(2) International Publication WO98/27747 entitled “Medium Access Control (MAC) Protocol for Wireless ATM”; published Jun. 25, 1998 discloses a protocol, method, and apparatus for managing network communications particularly well suited for ATM communications across a wireless medium. Contiguous time slots within a frame are allocated to each node having traffic to send. Each node is assured a nominal bandwidth, and excess bandwidth is distributed by demand. The allocation of excess bandwidth can be dependent upon the size of the buffer at each node, as well as the time-criticality of each message. Nodes communicate their requests for allocation by appending such control information to the first of their transmitted packets. The allocation, of each node's transmit and receive time slots, is transmitted to all the nodes at the beginning of each frame. Thereafter, each node need not participate on the network until their allocated time periods, thereby allowing portable devices to enter inactive states to conserve power. The network is operated in a connection mode; connections are established in a relatively non-interfering manner by the use of periodically occurring beacons. Inactive, unconnected, nodes need only monitor the network during these beacon periods, further allowing for power conservation.
(3) EPO 0859492A2 entitled “Fair Queuing System with Adaptive Bandwidth Redistribution”, issued Aug. 19, 1998 discloses apparatus for routing packets in a communication network including a plurality of per-connection queues, each queue established for receiving packets from a respective source and temporarily storing each received packet before routing to a particular destination; a weighted fair-queuing scheduler for servicing packets from each of the plurality of per-connection queues at guaranteed pre-allocated rates; a sensing device for a presence or absence of packets in queues, the absence of packets in queues indicating availability of excess bandwidth; and a state dependent scheduler for redistributing excess bandwidth upon sensing empty queues, the state dependent scheduler servicing those queues in accordance with a state variable corresponding to performance property of the queues wherein delay and isolation properties for routing packets of respective queues in weighted fair-queuing is preserved.
(4) EPO 02/58514 A1 entitled “Optimized Bandwidth Allocation Apparatus Between Circuit Slots and Packet Bit Stream in a Communication Network”, issued Mar. 9, 1988 discloses an integrated packet/circuit switched telecommunications network, instantaneously on a per-slot basis reallocating to the background packet flow, the momentarily unused bandwidth let by a circuit user source and give it back to the circuit source as it resumes its activity. The circuit user data are sent through the network during slots of frames, which are assigned to the circuit users on the call basis. Interfacing means are provided to generate slot-qualifying bits, which are set to a first value when the corresponding circuit users are active and to a second value when the corresponding circuit users are inactive. The qualifying bits are transported through the network in correspondence with the slot they qualify, and sensed to cause the slots having qualifying bits set to the second value to be filled with packet bits.
None of the prior art discloses a method of applying QoS algorithm for bandwidth allocation to achieve higher performance in the network and guarantee each session with the minimum required bandwidth when a session (voice or data) is added at login or removed at logoff thereby enabling voices sessions to optimize speech quality by using the excess bandwidth when available.